package jp.ac.waseda.cs.washi.game.api;

import java.util.List;

import jp.ac.waseda.cs.washi.game.entity.PumpkinCore;
import jp.ac.waseda.cs.washi.gameaiarena.api.Point2;

/**
 * このインターフェースはボーナス図形（ミニパンプキンおよびキングパンプキン）に関する情報を提供します。
 */
public interface PumpkinInfo {

	/**
	 * ボーナス図形の種類を返します。
	 * 
	 * @return ボーナス図形の種類
	 */
	public PumpkinType getType();

	/**
	 * ボーナス図形が位置する左上の座標を返します。 例えば、ミニパンプキンが位置する中心の座標が(2,2)の場合は、左上の座標は(0,0) になります。
	 * 
	 * @return ボーナス図形が位置する左上の座標
	 */
	public Point2 getLocation();

	/**
	 * ボーナス図形が位置する中心の座標を返します。 例えば、ミニパンプキンが位置する左上の座標が(0,0)の場合は、 中心の座標は(2,2)になります。
	 * 
	 * @return ボーナス図形が位置する中心の座標
	 */
	public Point2 getCenterLocation();

	/**
	 * パンプキンマス（ボーナス図形のマスで強度を持っている箇所）のリストを取得します。
	 * 
	 * @return パンプキンマスのリスト
	 */
	public List<PumpkinCore> getCores();

}
